package javachongkao.面向对象上.学生类设计;

import java.util.Scanner;
//7-41 学生类设计
//设计一个类Student，并在Main类中生成Student类对象进行测试
//
//1.对于Student类，设计私有属性name和age，并为每一个成员变量name和age设计其setXXX（）和getXXX（）方法,并对于setAge方法，如果age被赋值为<=6,则age值为7，其他为参数值。
//
//2.对于Student类，设计无参构造方法，在构造方法中为age赋值为7，name赋值为“无名" 并添加语句System.out.println("无参构造方法")；
//
//3.设计方法public void display(),方法中显示该学生的姓名和年龄，显示格式为name：无名，age：8
//
//
//Main类的main方法中，创建1个学生对象，然后调用display方法显示学生信息，接着通过键盘输入1个学生的姓名和年龄，调用display方法去显示学生信息。
//
//输入格式:
//在一行内输入学生的姓名和年龄
//
//输出格式:
//对每一组输入，输出学生的姓名和年龄。
class Student {
    private String name;
    private int age;

    // 无参构造方法
    public Student() {
        this.age = 7;
        this.name = "无名";
        System.out.println("无参构造方法");
    }

    // name的setter方法
    public void setName(String name) {
        this.name = name;
    }

    // name的getter方法
    public String getName() {
        return name;
    }

    // age的setter方法（特殊处理age<=6的情况）
    public void setAge(int age) {
        this.age = age <= 6 ? 7 : age;
    }

    // age的getter方法
    public int getAge() {
        return age;
    }

    // 显示学生信息的方法
    public void display() {
        System.out.println("name:" + name + ",age:" + age);
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 创建第一个学生对象并显示信息
        Student student = new Student();
        student.display();

        // 读取输入并设置学生信息
        String name = scanner.next();
        int age = scanner.nextInt();
        student.setName(name);
        student.setAge(age);
        student.display();

        scanner.close();
    }
}
